#define _CRT_SECURE_NO_WARNINGS
//
//#include <stdio.h>
//
//int convertInteger(int A, int B) {
//    int count = 0;
//    while (A != B)
//    {
//        if ((A & 1) != (B & 1))
//        {
//            ++count;
//        }
//        A >>= 1;
//        B >>= 1;
//    }
//
//    return count;
//}
//
//int main()
//{
//    int a, b;
//    scanf("%d %d", &a, &b);
//    printf("%d\n", convertInteger(a, b));
//
//    return 0;
//}
//
//int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {
//    int size1 = sizeof(nums1) / sizeof(nums1[0]);
//    int size2 = sizeof(nums2) / sizeof(nums2[0]);
//    int count = 0;
//    int* tmp = (int*)malloc(sizeof(int) * 1000);
//    if (tmp == NULL)
//    {
//        perror("malloc fail");
//        exit(-1);
//    }
//    int k = 0;
//    if (size1 < size2)
//    {
//        for (int i = 0; i < nums1Size; ++i)
//        {
//            for (int j = 0; j < nums2Size; ++j)
//            {
//                if (nums1[i] == nums2[j])
//                {
//                    count++;
//                    tmp[k++] = nums1[i];
//                }
//            }
//        }
//    }
//    else
//    {
//        for (int i = 0; i < nums2Size; ++i)
//        {
//            for (int j = 0; j < nums1Size; ++j)
//            {
//                if (nums2[i] == nums1[j])
//                {
//                    count++;
//                    tmp[k++] = nums2[i];
//                }
//            }
//        }
//    }
//    int* cur = (int*)realloc(tmp, sizeof(int) * count);
//    if (cur == NULL)
//    {
//        exit(-1);
//    }
//    tmp = cur;
//    int l = count;
//    for (int k = 1; k < count - 1; ++k)
//    {
//        if ()
//    }
//    *returnSize = count;
//    return tmp;
//}